    <pro-header ></pro-header>
 <!--  form表单搜索 -->
    <nz-card [nzBordered]="false">
        <form nz-form (ngSubmit)="search()" [nzLayout]="'inline'">
            <div nz-row  [nzType]="'flex'" [nzJustify]="'start'" [nzGutter]="24">
                <div nz-col [nzSpan]="7" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label><label for="name">工作项名称</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="searchFun.itemName"  name="itemName" [nzSize]="'large'" [nzPlaceHolder]="'工作项名称'" nzId="itemName"></nz-input>
                        </div>
                    </div>
                </div>
               <div  nz-col [nzSpan]="5" class="mb-md">
                        <div nz-form-item class="d-flex">
                            <div nz-form-label><label for="name">工作项状态</label></div>
                            <div nz-form-control class="flex-1">
                              
                                <nz-select [(ngModel)]="searchFun.itemStatus" name="itemStatus" nzId="itemStatus" [nzPlaceHolder]="'工作项负责人'" [nzShowSearch]="true" [nzSize]="'large'">
                                    <nz-option *ngFor="let i of itemStatus; let idx = index" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
                                </nz-select>
                            </div>
                        </div>
               </div>
                 <div  nz-col [nzSpan]="5" class="mb-md">
                        <div nz-form-item class="d-flex">
                            <div nz-form-label><label for="name">投产时间</label></div>
                            <div nz-form-control class="flex-1">
                             <nz-datepicker [(ngModel)]="searchFun.deliveryPlanTime" (ngModelChange)="checkdate(searchFun.deliveryPlanTime)"  [ngModelOptions]="{standalone: true}" [nzPlaceHolder]="'请选择投产时间'"></nz-datepicker>
                            </div>
                        </div>
               </div>
                  <div  nz-col [nzSpan]="5" class="mb-md">
                        <div nz-form-item class="d-flex">
                            <div nz-form-label><label for="name">项目负责人</label></div>
                            <div nz-form-control class="flex-1">
                                <nz-select [(ngModel)]="searchFun.owner" name="owner" nzId="owner" [nzPlaceHolder]="'工作项负责人'" [nzShowSearch]="true" [nzSize]="'large'">
                                    <nz-option *ngFor="let i of owner; let idx = index" [nzLabel]="i.svnUser" [nzValue]="i.userId"></nz-option>
                                </nz-select>
                            </div>
                        </div>
               </div>
                 <div nz-col [nzSpan]="7" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label><label for="name">工作项标签</label></div>
                        <div nz-form-control class="flex-1">                        
                         <nz-select
                        style="width: 200px;"
                        nzShowSearch = 'true'
                        [nzPlaceHolder]="'请选择标签关键字'"
                        (nzSearchChange)="checkTabs($event)"
                        [(ngModel)]="searchFun.itemLable"
                        [ngModelOptions]="{standalone: true}"
                        [nzNotFoundContent]="'无法找到'">
                        <nz-option
                            *ngFor="let option of tags"
                            [nzLabel]="option"
                            [nzValue]="option">
                        </nz-option>
                        </nz-select>
                        </div>
                    </div>
                </div>
                    <div nz-col [nzSpan]="expandForm ? 24 : 8" class="mb-md" [class.text-right]="expandForm">
                    <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="loading" [nzSize]="'large'">查询</button>
                    <button nz-button type="reset" (click)="reset()" [nzSize]="'large'" class="mx-sm">重置</button>
                    <!--<a (click)="expandForm=!expandForm">
                        {{expandForm ? '收起' : '展开'}}
                        <i class="anticon" [class.anticon-down]="!expandForm" [class.anticon-up]="expandForm"></i>
                    </a>-->
                </div>
            </div>
        </form>
        <!-- 监听列表组件，如果点击了则告诉弹出框组件，打开弹出框,监听addCreat方法-->
        <app-list
            [initDate]="data"
            [isPagination]="isPagination"
            [buttons] ='buttons'
            (addCreat)="addHandler($event)"
            (buttonData)="buttonDataHandler($event)"
            (pageNumber)="monitorHandler($event)"
            (buttonEvent)="buttonEvent($event)"
            (selectedRow)="selectedRow($event)"
            (isActive)="isActive($event)"
            [headerDate]="headerDate"
            [pageIndex]='pageIndex'
            [total]="total"
            [showAdd]="showAdd"
            [loading]="listloading" 
            worktab= 'true'
            [isShowTotalhead] ='isShowTotalhead'
            showExport='true'
            [isShowTotal]='isShowTotal'
            [pageTotal] = 'pageTotal'
            (moreExport)="moreExport($event)"
            ></app-list>
     <!--<div class="example" *ngIf='_isSpinning'>
      <nz-spin [nzTip]="'正在读取数据...'"></nz-spin>
    </div>-->
    </nz-card>


    <!--新增工作项内容-->
    <nz-modal [nzVisible]="modalVisible" [nzWidth]="1024" [nzTitle]="modalTitle" [nzConfirmLoading]="loading" [nzContent]="modalContent"
              (nzOnCancel)="modalVisible=false" (nzOnOk)="save()">
          <ng-template #modalTitle>
 <i  style="color:#108ee9"class="anticon anticon-info-circle"></i>&nbsp;{{modelTitle}}（点击页签，补充工作项完整信息）
          </ng-template>
        <ng-template #modalContent>
    
      <nz-tabset [nzTabPosition]="'top'" [nzType]="'card'" [nzSize]="'default'" [nzSelectedIndex]="SelectedIndex">
      <nz-tab *ngFor="let tab of AddTabs">
        <ng-template #nzTabHeading>
          {{tab.name}}
        </ng-template>
        <div *ngIf="tab.content === 0">
            <div nz-row  [nzType]="'flex'" [nzJustify]="'end'" [nzGutter]="24">
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">工作项名称</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.itemName" name="itemName" [nzSize]="'large'"  (ngModelChange)="checkString(workAdd.itemName,1)" [nzPlaceHolder]="'工作项名称'" nzId="itemName"></nz-input>
                                    <nz-alert  [nzType]="'warning'" nzShowIcon *ngIf='isShowitemName == true' nzBanner [nzMessage]="'请勿输入特殊字符！'"></nz-alert>
                                    </div>

                                </div>
                            </div>
                        <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="3"><label for="name">工作项类型</label></div>
                                    <div nz-form-control nz-col [nzSpan]="21" >
                                        <nz-select style="width:100%;" [(ngModel)]="workAdd.workType" name="workType" nzId="workType" [nzPlaceHolder]="'请选择工作项类型'"  [nzSize]="'large'">
                                            <nz-option *ngFor="let i of workType; let idx = index" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
                                        </nz-select>
                                    </div>
                                </div>
                            </div>

                 <div nz-col [nzSpan]="24" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label nz-col [nzSpan]="3" class="alignment">
                            <label for="no">工作量</label>
                        </div>
                         <div nz-form-control nz-col [nzSpan]="21">
                            <nz-input [(ngModel)]="workAdd.workLoad" nzAutosize=true  (ngModelChange)="checkworkload(workAdd.workLoad)"  name="workLoad" [nzSize]="'large'" [nzPlaceHolder]="'请输入工作量，单位（人/天）'"
                                     
                                     ></nz-input>
                                      <nz-alert  [nzType]="'warning'" nzShowIcon *ngIf='isShowworkload == true' nzBanner [nzMessage]="workload"></nz-alert>
                        </div>
                   

                                </div>
                            </div>

                     <div nz-col [nzSpan]="24" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label nz-col [nzSpan]="3" class="alignment">
                            <label for="no">ARTF</label>
                        </div>
                         <div nz-form-control nz-col [nzSpan]="21">
                            <nz-input [(ngModel)]="workAdd.artf" nzAutosize=true  (ngModelChange)="checkArtf(workAdd.artf)"  name="artf" [nzSize]="'large'" [nzPlaceHolder]="'请输入ARTF'"
                                     ></nz-input>
                                      <nz-alert   [nzType]="'warning'"  *ngIf='isShowArtf == true' nzBanner [nzMessage]="artfmsg"></nz-alert>
                        </div>
                   

                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="3"><label for="name">需求编号</label></div>
                                    <div nz-form-control  nz-col [nzSpan]="21">
                                        <nz-input [(ngModel)]="workAdd.seqno" name="seqno" [nzSize]="'large'" (ngModelChange)="checkString(workAdd.seqno,2)" [nzPlaceHolder]="'需求编号'" nzId="seqno"></nz-input>
                                    <nz-alert  [nzType]="'warning'" nzShowIcon *ngIf='isShowseqno == true' nzBanner [nzMessage]="'请勿输入特殊字符！'"></nz-alert>
                                        
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="3"><label>开发人员</label></div>
                            
                                    <div nz-form-control nz-col [nzSpan]="21">
                                        <nz-tag *ngFor="let tag of workAdd.developersAdd; let i = index;"
                                            nzClosable="true"
                                            (nzClose)="handleCloseDev(tag)">
                                            {{sliceTagName(tag.svnUser)}}
                                        </nz-tag>
                                            
                                        <nz-select  [(ngModel)]="strdevelopers" nzAllowClear (ngModelChange)="Adddevelopers(strdevelopers)"  style="width:20%;" name="owner" nzId="owner" [nzPlaceHolder]="'开发人员'" [nzShowSearch]="true" [nzSize]="'large'">
                                            <nz-option  *ngFor="let i of owner; let idx = index" [nzLabel]="i.svnUser+' ('+i.userId+')'"  [nzValue]="i.userId"></nz-option>
                                        </nz-select>
                                        
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="3"><label for="name">项目负责人</label></div>
                                    <div nz-form-control nz-col [nzSpan]="21" >
                                        <nz-select style="width:100%;"  [(ngModel)]="workAdd.owner" name="owner" nzId="owner" [nzPlaceHolder]="'工作项负责人'" [nzShowSearch]="true" [nzSize]="'large'">
                                            <nz-option *ngFor="let i of owner; let idx = index" [nzLabel]="i.svnUser" [nzValue]="i.userId"></nz-option>
                                        </nz-select>
                                    </div>
                                </div>
                            </div>
                        <div nz-col [nzSpan]="24" class="mb-md">
                            <div nz-col [nzSpan]="12" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="6" class="alignment"><label for="no">需求时间</label></div>
                                    <div nz-form-control nz-col [nzSpan]="16">
                                        <nz-datepicker [(ngModel)]="workAdd.receiveTime"  [nzFormat]="'YYYY-MM-DD'"     name="receiveTime" [nzSize]="'large'" [nzPlaceHolder]="'收到需求时间'" nzId="receiveTime" class="d-block"></nz-datepicker>
                                    </div>
                                </div>


                            </div>
                            <div nz-col [nzSpan]="12" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="6" class="alignment"><label for="no">开发时间</label></div>
                                    <div nz-form-control nz-col [nzSpan]="16">
                                        <nz-datepicker [(ngModel)]="workAdd.developStartTime" [nzFormat]="'YYYY-MM-DD'"    name="developStartTime" [nzSize]="'large'" [nzPlaceHolder]="'启动开发时间'" nzId="developStartTime" class="d-block"></nz-datepicker>
                                    </div>
                                </div>
                            </div>
                    </div>
                        <div nz-col [nzSpan]="24" class="mb-md">
                            <div nz-col [nzSpan]="12" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="6" class="alignment"><label for="no">计划投产</label></div>
                                    <div nz-form-control nz-col [nzSpan]="16">
                                        <nz-datepicker [(ngModel)]="workAdd.deliveryPlanTime" [nzFormat]="'YYYY-MM-DD'"    name="deliveryPlanTime" [nzSize]="'large'" [nzPlaceHolder]="'计划投产时间'" nzId="deliveryPlanTime" class="d-block"></nz-datepicker>
                                    </div>

                                </div>
                            </div>

                            <div nz-col [nzSpan]="12" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="6" class="alignment"><label for="no">实际投产</label></div>
                                    <div nz-form-control nz-col [nzSpan]="16">
                                        <nz-datepicker [(ngModel)]="workAdd.deliveryTime" [nzFormat]="'YYYY-MM-DD'"    name="deliveryTime" [nzSize]="'large'" [nzPlaceHolder]="'实际投产时间'" nzId="deliveryTime" class="d-block"></nz-datepicker>
                                    </div>
                                </div>
                            </div>
                        </div>

                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="3" class="alignment">
                                        <label for="no">需求描述</label>
                                    </div>
                                    <div nz-form-control nz-col [nzSpan]="21">
                                        <nz-input [(ngModel)]="workAdd.requirementDesc" (ngModelChange)="checkString(workAdd.requirementDesc,3)" nzAutosize=true nzType="textarea" name="requirementDesc" [nzSize]="'large'" [nzPlaceHolder]="'需求描述'"
                                                nzId="requirementDesc"></nz-input>
                                    <nz-alert  [nzType]="'warning'" nzShowIcon *ngIf='isShowrequirementDesc === true' nzBanner [nzMessage]="'请勿输入特殊字符！'"></nz-alert>
                                                
                                    </div>
                                </div>
                            </div>
                        
                            
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-form-label nz-col [nzSpan]="3" class="alignment">
                                        <label for="no">标签</label>
                                    </div>
                                    <div nz-form-control nz-col [nzSpan]="21">
                                    <nz-tag *ngFor="let tag of workAdd.itemLable; let i = index;"
                                        nzClosable="true"
                                        (nzClose)="handleClose(tag)">
                                        {{sliceTagName(tag)}}
                                        </nz-tag>
                                        <button nz-button *ngIf="!inputVisible"
                                        [nzSize]="'large'" [nzType]="'dashed'"
                                        (click)="showInput()">+ 添加标签</button>
                                        <input nz-input #input
                                        *ngIf="inputVisible" type="text"
                                        [(ngModel)]="inputValue"
                                        style="width: 100px;"
                                        (blur)="handleInputConfirm()" (keydown.enter)="handleInputConfirm()" [ngModelOptions]="{standalone: true}">
                                    </div>
                                </div>
                            </div>
                        
                        </div>
        </div>
        <div *ngIf="tab.content === 1">
          <div nz-row  [nzType]="'flex'" [nzJustify]="'end'" [nzGutter]="24">
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">工作项来源</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                     <nz-select style="width:100%;"  [(ngModel)]="workAdd.workSource" name="workSource" nzId="workSource" [nzPlaceHolder]="'工作项来源'" [nzShowSearch]="true" [nzSize]="'large'">
                                        <nz-option *ngFor="let i of workSource; let idx = index" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
                                     </nz-select>
                            </div>
                                </div>
                            </div>
                              <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">报工工时</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.manHour" name="manHour" [nzSize]="'large'"  [nzPlaceHolder]="'报工工时'" nzId="manHour"></nz-input>
                                    </div>
                                </div>
                            </div>

          </div>
        </div>
          <div *ngIf="tab.content === 2">
          <div nz-row  [nzType]="'flex'" [nzJustify]="'end'" [nzGutter]="24">
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">工作组</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                    <nz-select style="width:100%;"  [(ngModel)]="workAdd.workGroup" name="workGroup" nzId="workGroup" [nzPlaceHolder]="'工作组'" [nzShowSearch]="true" [nzSize]="'large'">
                                            <nz-option *ngFor="let i of workGroup; let idx = index" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
                                        </nz-select>
                                    </div>
                                </div>
                            </div>
               </div>
        </div>
         <div *ngIf="tab.content === 3">
          <div nz-row  [nzType]="'flex'" [nzJustify]="'end'" [nzGutter]="24">
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">工作项挣值</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.earnedValue" name="earnedValue" [nzSize]="'large'"  [nzPlaceHolder]="'工作项挣值'" nzId="earnedValue"></nz-input>
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">合同年度</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.compactYear" name="compactYear" [nzSize]="'large'"  [nzPlaceHolder]="'合同年度'" nzId="compactYear"></nz-input>
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">BT状态描述</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.bt_statusDesc" name="bt_statusDesc" [nzSize]="'large'"  [nzPlaceHolder]="'BT状态描述'" nzId="bt_statusDesc"></nz-input>
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">收款比例</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.proceedsRatio" name="proceedsRatio" [nzSize]="'large'"  [nzPlaceHolder]="'收款比例'" nzId="proceedsRatio"></nz-input>
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">收款说明</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.proceedsDesc" name="proceedsDesc" [nzSize]="'large'"  [nzPlaceHolder]="'收款说明'" nzId="proceedsDesc"></nz-input>
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">应收款</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.accountReceivable" name="accountReceivable" [nzSize]="'large'"  [nzPlaceHolder]="'应收款'" nzId="accountReceivable"></nz-input>
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">可收款标志</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.proceedsSign" name="proceedsSign" [nzSize]="'large'"  [nzPlaceHolder]="'可收款标志'" nzId="proceedsSign"></nz-input>
                                    </div>
                                </div>
                            </div>
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">收款状态</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                            <nz-select style="width:100%;"  [(ngModel)]="workAdd.proceedsStatus" name="proceedsStatus" nzId="proceedsStatus" [nzPlaceHolder]="'收款状态'" [nzShowSearch]="true" [nzSize]="'large'">
                                        <nz-option *ngFor="let i of proceedsStatus; let idx = index" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
                                     </nz-select>
                                    </div>
                                </div>
                            </div>
               </div>
        </div>
         <div *ngIf="tab.content === 4">
          <div nz-row  [nzType]="'flex'" [nzJustify]="'end'" [nzGutter]="24">
                            <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">关注类型</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                             <nz-select style="width:100%;"  [(ngModel)]="workAdd.attentionType" name="attentionType" nzId="attentionType" [nzPlaceHolder]="'关注类型'" [nzShowSearch]="true" [nzSize]="'large'">
                                        <nz-option *ngFor="let i of attentionType; let idx = index" [nzLabel]="i.label" [nzValue]="i.value"></nz-option>
                                     </nz-select>
                             </div>
                                </div>
                            </div>
                             <div nz-col [nzSpan]="24" class="mb-md">
                                <div nz-form-item class="d-flex">
                                    <div nz-col [nzSpan]="3" nz-form-label class="alignment"><label for="name">关注说明</label></div>
                                    <div nz-col [nzSpan]="21" nz-form-control >
                                        <nz-input [(ngModel)]="workAdd.attentionDesc" name="attentionDesc" [nzSize]="'large'"  [nzPlaceHolder]="'关注说明'" nzId="attentionDesc"></nz-input>
                                    </div>
                                </div>
                            </div>
               </div>
        </div>
      </nz-tab>
    </nz-tabset>
           
        </ng-template>
    </nz-modal>


    <!--关联分支弹框-->
    <nz-modal [nzVisible]="assVisible" [nzWidth]="1024" [nzTitle]="'关联分支'" [nzConfirmLoading]="loading" [nzContent]="assContent"
              (nzOnCancel)="assVisible=false" (nzOnOk)="assSave()">
        <ng-template #assContent>
                <nz-tabset  >
                <nz-tab *ngFor="let tab of tabs" (nzSelect)="tabChange(tab.active)">
                <ng-template #nzTabHeading>
                {{tab.name}}
                </ng-template>
                <div *ngIf="tab.active == true">
                        <div nz-row [nzGutter]="24">
                    <div nz-col [nzSpan]="24"  class="mb-md">
                        <div nz-form-item class="d-flex">
                            <div nz-form-label><label for="name">开发分支</label></div>
                            <div nz-form-control class="flex-1">
                                <nz-select style="width: 90%;" [(ngModel)]="assbranch" name="branch" (ngModelChange)="checkBranch(assbranch)" nzId="branch" [nzPlaceHolder]="'开发分支'" [nzShowSearch]="true" [nzSize]="'large'">
                                    <nz-option *ngFor="let i of branch; let idx = index" [nzLabel]="i.fullPath" [nzValue]="i.guid"></nz-option>
                                   <nz-option *ngIf="branch.length === 0" nzDisabled  nzLabel="当前无可用工作分支" ></nz-option>

                                </nz-select>
                            </div>
                        </div>
                    </div>
                    <div nz-col [nzSpan]="24"  class="mb-md"  *ngIf="branchdataInfo">
                        <div nz-col [nzSpan]="12" class="mb-md">
                            <div nz-form-item class="d-flex">
                                <div nz-form-label class="alignment"><label for="name">分支类型</label></div>
                                <div nz-form-control class="flex-1">
                                    {{branchData.branchType}}
                                    <!--<nz-input [(ngModel)]="branchData.branchType" name="branchType" [disabled]="true" [nzSize]="'large'" [nzPlaceHolder]="'分支类型'" nzId="branchType"></nz-input>-->
                                </div>
                            </div>
                        </div>
                        <div nz-col [nzSpan]="12" class="mb-md">
                            <div nz-form-item class="d-flex">
                                <div nz-form-label class="alignment"><label for="name">创建人</label></div>
                                <div nz-form-control class="flex-1">
                                    {{branchData.creater}}
                                    <!--<nz-input [(ngModel)]="branchData.creater" name="creater" [disabled]="true" [nzSize]="'large'" [nzPlaceHolder]="'分支创建人'" nzId="creater"></nz-input>-->
                                </div>
                            </div>
                        </div>
                        <div nz-col [nzSpan]="12" class="mb-md">
                            <div nz-form-item class="d-flex">
                                <div nz-form-label class="alignment"><label for="name">创建时间</label></div>
                                <div nz-form-control class="flex-1">
                                    {{branchData.createTime}}
                                    <!--<nz-input [(ngModel)]="branchData.createTime" name="createTime" [disabled]="true" [nzSize]="'large'" [nzPlaceHolder]="'创建时间'" nzId="createTime"></nz-input>-->
                                </div>
                            </div>
                        </div>
                        <div nz-col [nzSpan]="12" class="mb-md">
                            <div nz-form-item class="d-flex">
                                <div nz-form-label class="alignment"><label for="name">当前版本</label></div>
                                <div nz-form-control class="flex-1">
                                    {{branchData.currVersion}}
                                    <!--<nz-input [(ngModel)]="branchData.currVersion" name="currVersion" [disabled]="true" [nzSize]="'large'" [nzPlaceHolder]="'当前版本'" nzId="currVersion"></nz-input>-->
                                </div>
                            </div>
                        </div>
                        <div nz-col [nzSpan]="12" class="mb-md">
                            <div nz-form-item class="d-flex">
                                <div nz-form-label class="alignment"><label for="name">上次版本</label></div>
                                <div nz-form-control class="flex-1">
                                    {{branchData.lastVersion}}
                                    <!--<nz-input [(ngModel)]="branchData.lastVersion" name="lastVersion" [disabled]="true" [nzSize]="'large'" [nzPlaceHolder]="'上次投产版本'" nzId="lastVersion"></nz-input>-->
                                </div>
                            </div>
                        </div>
                        </div>
                     </div>
                </div>
                <div *ngIf="tab.active == false">
                    <div nz-col [nzSpan]="22" class="mb-md">
                        <div nz-form-item class="d-flex">
                            <div nz-form-label><label for="name">分支作用</label></div>
                            <div nz-form-control class="flex-1"  >
                                <nz-input [(ngModel)]="addBranch.branchFor" name="branchFor"   type='text' aria-required="true" [nzSize]="'large'" [nzPlaceHolder]="'分支作用说明'" ></nz-input>
                            </div>
                        </div>
                    </div>
                     <div  nz-col [nzSpan]="24" class="mb-md">
                        <div nz-form-item class="d-flex">
                            <div nz-form-label><label>分支类型</label></div>
                            <div nz-form-control class="flex-1">
                                <nz-select style="width: 300px;"
                                           [nzPlaceHolder]="'分支类型'"
                                           [(ngModel)]="addBranch.branchType"
                                           name='branchType'>
                                    <nz-option
                                        *ngFor="let option of branchType"
                                        [nzLabel]="option.key"
                                        [nzValue]="option.value">
                                    </nz-option>
                                </nz-select>
                            </div>
                        </div>
                    </div>
                </div>
                </nz-tab>
                </nz-tabset>

        </ng-template>
    </nz-modal>
    <!--工程-->
    <nz-modal [nzVisible]="projectInfo" [nzWidth]="1024" [nzTitle]="'工程管理'" [nzConfirmLoading]="loading" [nzContent]="projectContent"
              (nzOnCancel)="projectInfo=false" (nzOnOk)="subProject()">
        <ng-template #projectContent>
                  <nz-transfer
                        [nzDataSource]="list"
                        nzShowSearch
                        [nzTitles]="['可拉工程', '已选工程']"
                        [nzListStyle]="{'width.%': 45, 'height.px': 300}"
                        [nzFilterOption]="filterOption"
                        (nzSearchChange)="searchpro($event)"
                        (nzSelectChange)="select($event)"
                        (nzChange)="change($event)"
                        >
                        <ng-template #render let-item>
                        {{item.description}}
                        </ng-template>

                    </nz-transfer>
                </ng-template>
    </nz-modal>

    <!--查看分支详情-->
    <nz-modal [nzVisible]="branchInfo" [nzWidth]="1024" [nzTitle]="'分支详情'" [nzConfirmLoading]="loading" [nzContent]="branchContent"
              (nzOnCancel)="branchInfo=false" (nzOnOk)="branchInfo=false" [nzFooter]="ewqewq">
        <ng-template #branchContent>
            <div nz-row [nzGutter]="24">
                <div nz-col [nzSpan]="24" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label class="alignment"><label for="name">分支类型</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="branchData.branchType" name="branchType" [nzReadonly]="'true'" [nzSize]="'large'" [nzPlaceHolder]="'分支类型'" nzId="branchType"></nz-input>
                        </div>
                    </div>
                </div>
                <div nz-col [nzSpan]="12" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label class="alignment"><label for="name">创建人</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="branchData.creater" name="creater"  [nzReadonly]="'true'"  [nzSize]="'large'" [nzPlaceHolder]="'分支创建人'" nzId="creater"></nz-input>
                        </div>
                    </div>
                </div>
                <div nz-col [nzSpan]="12" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label class="alignment"><label for="name">创建时间</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="branchData.createTime" name="createTime"  [nzReadonly]="'true'"  [nzSize]="'large'" [nzPlaceHolder]="'创建时间'" nzId="createTime"></nz-input>
                        </div>
                    </div>
                </div>
                <div nz-col [nzSpan]="12" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label class="alignment"><label for="name">当前版本</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="branchData.currVersion" name="currVersion"  [nzReadonly]="'true'" [nzSize]="'large'" [nzPlaceHolder]="'当前版本'" nzId="currVersion"></nz-input>
                        </div>
                    </div>
                </div>
                <div nz-col [nzSpan]="12" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label class="alignment"><label for="name">上次投产版本</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="branchData.lastVersion" name="lastVersion"  [nzReadonly]="'true'" [nzSize]="'large'" [nzPlaceHolder]="'上次投产版本'" nzId="lastVersion"></nz-input>
                        </div>
                    </div>
                </div>
                <div nz-col [nzSpan]="24" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label class="alignment"><label for="name">分支全路径</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="branchData.fullPath" name="fullPath"  [nzReadonly]="'true'" [nzSize]="'large'" [nzPlaceHolder]="'分支全路径'" nzId="fullPath"></nz-input>
                        </div>
                    </div>
                </div>

                <div nz-col [nzSpan]="24" class="mb-md">
                    <div nz-form-item class="d-flex">
                        <div nz-form-label class="alignment"><label for="name">分支作用说明</label></div>
                        <div nz-form-control class="flex-1">
                            <nz-input [(ngModel)]="branchData.branchFor" name="branchFor"  [nzReadonly]="'true'" [nzSize]="'large'" [nzPlaceHolder]="'分支作用说明'" nzId="branchFor"></nz-input>
                        </div>
                    </div>
                </div>

            </div>
        </ng-template>
          <ng-template #ewqewq>
                    </ng-template>
    </nz-modal>
  
<!--回退代码-->
    <nz-modal [nzVisible]="revertListModal" [nzMaskClosable]= 'false' [nzWidth]="1300" [nzTitle]="'回退代码详情'" [nzConfirmLoading]="loading" [nzContent]="revertList"
              (nzOnCancel)="delList()" (nzOnOk)="getGoRevertList()">
        <ng-template #revertList>
             <nz-input [nzType]="'search'" [nzPlaceHolder]="'搜索代码路径'" [(ngModel)]="searchRevert" style="width:80%;" (nzOnSearch)="onSearch($event)"></nz-input>
           <app-list
            [initDate]="revertListData"
            [isPagination]="isrevertPagination"
            (selectedRow)="selectedRow($event)"
            [headerDate]="revertListHeaderDate"
            [total]="revertListData.length"
            showAdd = true
            [loading]="listloading" 
            [isShowTotal] = true
            [isShowTotalhead] = true
            subtotalseleced = true
            [pageIndex]='revertPageIndex'
            (pageNumber)="revertMonitorHandler($event)"
            [pageTotal] = 'revertpageTotal'
            [isCaocuo] = 'isCaocuo'
        
           >
           </app-list>
      </ng-template>
    </nz-modal>
 <nz-modal [nzVisible]="rllbackModal" [nzWidth]="1300" [nzTitle]="'填写回退理由'" [nzConfirmLoading]="loading" [nzContent]="reson"
           (nzOnCancel)="rllbackModal=false" (nzOnOk)="getRevertList()">
        <ng-template #reson>
         
           <nz-input [(ngModel)]="reason" [nzType]="'textarea'" [nzRows]="'4'" [nzPlaceHolder]="'请输入回退理由！'"></nz-input>
      </ng-template>
    </nz-modal>